//这个数据,适用于：添加（修改）管理员时，设定权限


//1.定义全部的菜单数据
export const menudata=[
    {
        id:"1",
        label:"首页",
        path:"/Adman/Home"
    },
    {
        id:"2",
        label:"商品",
        children:[
            {
                id:"2-1",
                label:"商品列表",
                path:"/Adman/Goods"
            },
            {
                id:"2-2",
                label:"商品分页",
                path:"/Adman/Shoplist"
            },

        ]
    },
    {
        id:"3",
        label:"轮播图管理",
        children:[
            {
                id:"3-1",
                label:"轮播图列表",
                path:"/Adman/List",
                children:[
                    { 
                        id:"3-1-R",
                        label:"轮播图列表显示"
                    },
                    { 
                        id:"3-1-U",
                        label:"修改轮播图状态"
                    },
                    { 
                        id:"3-1-D",
                        label:"删除轮播图"
                    },


                ]
                
            },
            {
                id:"3-2",
                label:"轮播图添加",
                path:"/Adman/Add"
            },

        ]
    },
    {
        id:"4",
        label:"操作人员管理",
        children:[
            {
                id:"4-1",
                label:"操作人员列表",
                path:"/Adman/Administrator"
            },
            {
                id:"4-2",
                label:"添加操作人员",
                path:"/Adman/Addition"
            },

        ]
    },
    {
        id:"5",
        label:"图标数据",
        children:[
            
            {
                id:"5-2",
                label:"简单图表数据",
                path:"/Adman/Charts"
            },

        ]
    },
    // {
    //     id:"6",
    //     label:"用户列表数据",
    //     children:[
    //         {
    //             id:"6-1",
    //             label:"用户列表数据",
    //             path:"/Adman/User"
    //         }
    //     ]
    // },
    
    {
        id:"8",
        label:"订单页",
        children:[
            {
                id:"8-1",
                label:"订单详情页",
                path:"/Adman/Order"
            }
        ]
    },

]
// 2.根据当前用户的权限，产生相应的菜单
export default function getMenus(){
    //获取该用户的权限 （登陆的时候就保存了）
    let checkedKeys:string[]=[];
    let newkeys=sessionStorage.getItem("grants")//顶一个存储从本地地址上获取的的权限
    //判断是否权限是否有
    if(newkeys){
        //如果有，把它转换转换成JSON对象
        checkedKeys = JSON.parse(newkeys)

    }
    //设置用户权限的长度
    if(checkedKeys.length===0){
        checkedKeys = ['1','2','2-1','2-2','2-3','3','3-1','3-2','4','4-1','4-2','5','5-1','5-2','6','6-1','3-1-R','3-1-U','3-1-D','8','8-1'];
    }
    //(2).根据该用户的权限结合全部菜单数据，产生该用户的菜单
    interface IMenuItem{
        id:string,
        label:string,
        path?:string,
        children?:IMenuItem[]
    }
    //设置一个存储当前用户的菜单项
    let currMenuDat:IMenuItem[]=[]
    //给拿到的数据进行循环
    menudata.forEach(item=>{
        //对从数据中拿到的checkedkeys看他是否存在
        if(checkedKeys.indexOf(item.id)>-1){
            //定好一个菜单项
            const newmenuItem={...item}
            //处理下一子级
            if(item.children){
                //如果子集有数据，把它清空
                newmenuItem.children=[];
                //对子集进行循环
                item.children.forEach(sonItem=>{
                    if(checkedKeys.indexOf(sonItem.id)>-1){
                        //如果有把它push进去
                        newmenuItem.children?.push({...sonItem})
                    }
                })
            }
            currMenuDat.push(newmenuItem)

        }
       
    })
    console.log(" currMenuDat", currMenuDat);

    return currMenuDat;

   

}